Oilfield technology has increasingly undergone a movement towards “instrumenting” the oilfield. This movement has included the placing of electronics, sensors, and/or controllable valves downhole along an oil production tubing string. Measuring while drilling has been developed to enable, among other things, more accurate drilling and well placement. Known means of communicating information from the subsurface to the surface are often insufficient to transfer the volume of data that would be necessary for useful downhole seismic data applications. Additionally known methods have allowed successful communication at low data rates but are of limited usefulness as a communication scheme where high data rates are required or it is undesirable to have complex mud pulse telemetry equipment downhole.
U.S. Pat. No. 6,580,751 (hereby incorporated by reference in its entirety) describes a method and apparatus for high speed digital data communications with multiple downhole modems connected to a surface modem by twisted pair cables. The method and apparatus utilize forward error correction; however there is an opportunity to optimize or improve the error correction coding. Such devices typically use an internal or external cable along the tubing string to provide power and communications downhole. It is undesirable and in practice difficult to use a cable along the tubing string either integral to the tubing string or spaced in the annulus between the tubing string and the casing. The use of a cable presents difficulties for well operators while assembling and inserting the tubing string into a borehole. Additionally, the cable is subjected to corrosion and heavy wear due to movement of the tubing string within the borehole.
While several “wireless” systems known, these systems suffer from bandwidth limitations. Such bandwidth limitations often require processing raw data downhole and only sending processed results to the surface. Such an approach presents several shortcomings. By only receiving the processed data, surface computers cannot confirm the validity of the raw data or perform other processing operations on the data. The latter shortcoming becomes magnified when it is considered that a typical well will remain in operation for several years during which time new or better data analysis techniques may develop.
Claude Shannon, in 1948, put forth a theory that an absolute maximum capacity, in bits per second, exists for communications channel at a given power level at the transmitter. According to Shannon's theory, with the right error-correction codes, data could be transmitted at speeds up the channel capacity, virtually free from errors. With increases in computational capacities, codes were developed prior to about 1993 that could be useful at ratios of signal to noise levels on a logarithmic scale of about 3.5 dB. In 1993, Claude Berrou, Alain Glavieux, and Punya Thitimajshima presented a paper at the IEEE International Conference on Communications in Geneva, Switzerland (C. Berrou, A. Glavieux, P. Thitimajshima, “Near Shannon limit error-correcting coding and decoding: Turbo-Code,” (Proc. of IEEE ICC '93, Geneva, pp. 1064-1070, Volume 2, May 1993 © 1993 IEEE) describing a code that could reach within 0.5 db of Shannon's limit known as a turbo code. Turbo codes are typically parallel-concatenated convolutional codes with internal interleaving. An exemplary turbo-encoder is presented below. Turbo codes are described in, for example, U.S. Pat. Nos. 5,563,897, 5,406,570, and 6,108,388. The term “turbo code” is used to also include so-called “turbo-like” codes, which utilize a serial concatenation of convolutional codes and exhibit similar characteristics to turbo codes utilizing parallel concatenation.
Turbo codes are part of a class of codes known as iterative codes, so-called because decoding of the encoded signal is accomplished using an iterative process in which the error rate of the signal is reduced through each iteration. Another coding system that utilizes iterative coding and has been shown to approach Turbo code performance are low density parity check codes (“LDPC”). Such codes have been around since the early 1960s, but have been developed rapidly since benefits of the iterative decoding processes of the turbo codes have been demonstrated. LDPC codes are described in, for example, U.S. Pat. No. 6,633,856. Other classes of iterative codes include, but are not limited to, interference cancellation (IC) codes, serial interference cancellation (SIC) codes, and parallel interference cancellation (PIC) code.